package top.infopub.mgr.mkt.service;

import com.github.pagehelper.Page;
import top.infopub.generic.GenericService;
import top.infopub.mgr.common.vo.RspVo;
import top.infopub.mgr.mkt.domain.MarketingRewardDomain;
import top.infopub.mgr.mkt.jsonvo.MarketingRewardJsonVo;
import top.infopub.mgr.mkt.vo.MarketingRewardVo;
import top.infopub.model.mkt.MarketingReward;
import top.infopub.model.mkt.ProjectAttachment;
import top.infopub.security.vo.AuthorizationVO;

import java.util.List;

/**
 *
 * @see MarketingRewardService
 * @since
 */

public interface MarketingRewardService extends GenericService<MarketingReward, String> {

    /**
     * 根据条件查询营销奖励
     * @param page
     * @param marketingRewardVo
     * @return
     * @see
     */
    Page<MarketingRewardDomain> selectPageByDomainWhere(Page<MarketingRewardDomain> page, MarketingRewardVo marketingRewardVo);

    /**
     * 根据id查询营销奖励
     * @param id 主键id
     * @return
     * @see
     */
    MarketingRewardDomain queryById(String id);

    /**
     * 根据Id查询详情
     * @param id
     * @return
     */
    MarketingRewardJsonVo queryDetailById(String id);

    /**
     * 编辑详情
     * @param mktRwd
     * @param attachmentList
     * @param vo
     * @param submitType
     * @return
     */
    RspVo editDetail(MarketingReward mktRwd, List<ProjectAttachment> attachmentList, AuthorizationVO vo, Integer submitType);
}
